/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package fisica;

import hibernate.Sesion;
import hibernate.objeto.EvolucionEnfermeriaDeInternacion;
import java.util.Vector;
import org.hibernate.Query;

/**
 *
 * @author Gonzalo
 */
public class EvolucionEnfermeriaDeInternacionFisica extends CapaFisica {


    /**
     * Retorna el objeto Vector<EvolucionEnfermeriaDeInternacion> según el id del paciente al que esta
     * asociada.
     *
     * @param idPaciente El id del paciente
     * @return El vector de Vector<EvolucionEnfermeriaDeInternacion> consultado
     */
    public static Vector<EvolucionEnfermeriaDeInternacion>
            getVectorEvolucionEnfermeriaDeInternacionPorIdPaciente(int idPaciente) {
         Query q = Sesion.sesion.createQuery(
                 "from EvolucionEnfermeriaDeInternacion e " +
                 "where e.diagnosticoYTriageInternacion.paciente.idPaciente = " +
                 idPaciente
                 );

         return getVectorObjetos(q);
    }

    /**
     * Retorna el objeto EvolucionEnfermeriaDeInternacion según el id.
     *
     * @param idEvolucionEnfermeriaDeInternacion El id de la evolución enfermeria de internacion
     *
     * @return El objeto EvolucionEnfermeriaDeInternacion consultado, null si
     * no existe
     */
    public static EvolucionEnfermeriaDeInternacion getEvolucionEnfermeriaDeInternacionPorId(int idEvolucionEnfermeriaDeInternacion) {
        Query q = Sesion.sesion.createQuery(
                "from EvolucionEnfermeriaDeInternacion " +
                "where idEvolucionEnfermeriaDeInternacion = " +
                idEvolucionEnfermeriaDeInternacion
                );

        return (EvolucionEnfermeriaDeInternacion) getObjeto(q);
    }

    /**
     * Retorna el vector de objetos EvolucionEnfermeriaDeInternacion según el diagnostico y triage internacion.
     *
     * @param idDiagnosticoYTriageInternacion  La enfermedad con su respectivo
     * diagnostico consultado
     * @return El vector de objetos EvolucionEnfermeriaDeInternacion, null si no existe
     */
    public static Vector<EvolucionEnfermeriaDeInternacion>
            getVectorEvolucionEnfermeriaDeInternacionPorIdDiagnosticoYTriageInternacion(
            int idDiagnosticoYTriageInternacion) {
        Query q = Sesion.sesion.createQuery(
                "from EvolucionEnfermeriaDeInternacion as e " +
                "where e.diagnosticoYTriageInternacion.idDiagnosticoYTriageInternacion = " +
                idDiagnosticoYTriageInternacion  + " order by e.fechaEvolucionEnfermeriaDeInternacion desc, "
                + "e.horaEvolucionEnfermeriaDeInternacion desc"
                );

        return getVectorObjetos(q);
    }
}
